package belf.migrate.api.table.schema;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 数据库中用户自定义类型（TYPE）对象。Oracle和达梦是支持自定义TYPE，MySQL不支持
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserDefType implements Serializable {
    private static final long serialVersionUID = 23L;
    /** 类型名字 */
    private String typeName;
    /** 类型的种类。对oracle来说，该字段为OBJECT或COLLECTION。对达梦数据库，该字段为CLASS或TYPE */
    private String typeCode;
    /** 类型的父类，可能是null。对达梦来说总是null */
    private String superTypeName;
    /** 类型对应的创建语句 */
    private String ddl;
}
